/**
 *
 */
package 队列;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

import org.junit.Test;

/**
 * @Title:
 * @author zhoujie
 * @date 2018年12月15日 上午10:17:11 
 *
 */
public class TArrayBlockingQueue {
    @Test
    public void test01() throws InterruptedException {
        BlockingQueue<Integer> queue = new ArrayBlockingQueue<>(5, true);//true 则是公平性的：即等待时间最长的线程会先操作（对性能有损耗）
        for (int i = 0; i < 5; i++) {
            queue.offer(i);
        }
        for (int i = 0; i < 5; i++) {
            System.out.println(queue.take());//会抛异常 如果没有
            // queue.poll();//如果没有则返回null
        }
    }
}
